package com.xu.sso.web.service;

import com.xu.sso.core.exception.SSOException;
import com.xu.sso.core.model.BaseResponse;
import com.xu.sso.db.model.base.User;
import com.xu.sso.web.model.request.UpdateUserRequest;

import java.util.List;

public interface UserService {

    User findUser(String username);

    List<User> findAllUser();

    List<User> findAllUserByAppId(String appId);

    List<User> findAllUserNotInApp(String appId);

    BaseResponse updatePwd(String username, String newPwd, String oldPwd) throws SSOException;

    BaseResponse updateUser(UpdateUserRequest request) throws SSOException;

    BaseResponse addUser(User user) throws SSOException;

    BaseResponse deleteUser(String username) throws SSOException;

    BaseResponse resetUser(String username) throws SSOException;

}
